STU 3 Ballot

This page is part of the FHIR Specification (v1.6.0: STU 3 Ballot 4). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions

G.8.1 StructureDefinition: CQIF-Questionnaire

The official URL for this profile is:

http://hl7.org/fhir/StructureDefinition/cqif-questionnaire

A questionnaire with the ability to specify behavior associated with questions or groups of questions

This profile was published on Sat, May 30, 2015 00:00+1000 as a draft by Health Level Seven, Inc. - CDS WG.

G.8.1.1 Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.

This structure is derived from Questionnaire.

NameFlagsCard.TypeDescription & Constraintsdoco
.. Questionnaire 0..*A questionnaire with the ability to specify behavior associated with questions or groups of questions
... item 0..*BackboneElement
.... cqif-basic-condition 0..1stringA condition that determines whether or not the group is applicable
URL: http://hl7.org/fhir/StructureDefinition/cqif-basic-condition
.... cqif-basic-initialValue 0..1stringAn expression that provides the initial value for the answer to the question
URL: http://hl7.org/fhir/StructureDefinition/cqif-basic-initialValue
.... cqif-basic-calculatedValue 0..1stringAn expression that provides a calculated value for the answer to the question
URL: http://hl7.org/fhir/StructureDefinition/cqif-basic-calculatedValue
... cqif-basic-library 0..*Reference(Library)A library containing logic referenced by the questionnaire
URL: http://hl7.org/fhir/StructureDefinition/cqif-basic-library

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Questionnaire I0..*A questionnaire with the ability to specify behavior associated with questions or groups of questions
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
que-2: The link ids for groups and questions must be unique within the questionnaire
... id 0..1idLogical id of this artifact
... meta 0..1MetaMetadata about the resource
... implicitRules ?!0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... cqif-basic-library I0..*Reference(Library)A library containing logic referenced by the questionnaire
URL: http://hl7.org/fhir/StructureDefinition/cqif-basic-library
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... url 0..1uriGlobally unique logical identifier for questionnaire
... identifier 0..*IdentifierExternal identifiers for this questionnaire
... version 0..1stringLogical identifier for this version of Questionnaire
... status ?!1..1codedraft | published | retired
Binding: QuestionnaireStatus (required)
... date 0..1dateTimeDate this version was authored
... publisher 0..1stringOrganization/individual who designed the questionnaire
... telecom 0..*ContactPointContact information of the publisher
... useContext 0..*CodeableConceptQuestionnaire intends to support these contexts
Binding: Context of Use ValueSet (extensible)
... title 0..1stringName for the questionnaire
... concept 0..*CodingConcept that represents the overall questionnaire
Binding: Questionnaire Question Codes (example)
... subjectType 0..*codeResource that can be subject of QuestionnaireResponse
Binding: ResourceType (required)
... item I0..*BackboneElementQuestions and sections within the Questionnaire
que-9: Read-only can't be specified for "display" items
que-8: Default values can't be specified for groups or display items
que-6: Required and repeat aren't permitted for display items
que-5: Only 'choice' items can have options
que-4: A question cannot have both option and options
que-3: Display items cannot have a "concept" asserted
que-10: Maximum length can only be declared for simple question types
que-1: Group items must have nested items, display items cannot have nested items
.... id 0..1stringxml:id (or equivalent in JSON)
.... cqif-basic-condition I0..1stringA condition that determines whether or not the group is applicable
URL: http://hl7.org/fhir/StructureDefinition/cqif-basic-condition
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... cqif-basic-initialValue I0..1stringAn expression that provides the initial value for the answer to the question
URL: http://hl7.org/fhir/StructureDefinition/cqif-basic-initialValue
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... cqif-basic-calculatedValue I0..1stringAn expression that provides a calculated value for the answer to the question
URL: http://hl7.org/fhir/StructureDefinition/cqif-basic-calculatedValue
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... linkId 0..1stringTo link questionnaire with questionnaire response
.... concept I0..*CodingConcept that represents this item within in a questionnaire
Binding: Questionnaire Question Codes (example)
.... prefix 0..1stringE.g. "1(a)", "2.5.3"
.... text 0..1stringPrimary text for the item
.... type 1..1codegroup | display | question | boolean | decimal | integer | date | dateTime +
Binding: QuestionnaireItemType (required)
.... enableWhen ?!I0..*BackboneElementOnly allow data when:
que-7: enableWhen must contain either an 'answer' or an 'answered' element
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
..... question 1..1stringQuestion that determines whether item is enabled
..... hasAnswer I0..1booleanEnable when answered or not
..... answer[x] I0..1boolean, decimal, integer, date, dateTime, instant, time, string, uri, Attachment, Coding, Quantity, Reference(Resource)Value question must have
.... required I0..1booleanWhether the item must be included in data results
.... repeats I0..1booleanWhether the item may repeat
.... readOnly I0..1booleanDon't allow human editing
.... maxLength I0..1integerNo more than this many characters
.... options I0..1Reference(ValueSet)Valueset containing permitted answers
.... option I0..*BackboneElementPermitted answer
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
..... value[x] 1..1integer, date, time, string, CodingAnswer value
Binding: Questionnaire Answer Codes (example)
.... initial[x] I0..1boolean, decimal, integer, date, dateTime, instant, time, string, uri, Attachment, Coding, Quantity, Reference(Resource)Initial presumed answer for question
.... item I0..*Unknown reference to #Questionnaire:cqif-questionnaire.item
Nested questionnaire items

doco Documentation for this format

todo

Differential View

This structure is derived from Questionnaire.

NameFlagsCard.TypeDescription & Constraintsdoco
.. Questionnaire 0..*A questionnaire with the ability to specify behavior associated with questions or groups of questions
... item 0..*BackboneElement
.... cqif-basic-condition 0..1stringA condition that determines whether or not the group is applicable
URL: http://hl7.org/fhir/StructureDefinition/cqif-basic-condition
.... cqif-basic-initialValue 0..1stringAn expression that provides the initial value for the answer to the question
URL: http://hl7.org/fhir/StructureDefinition/cqif-basic-initialValue
.... cqif-basic-calculatedValue 0..1stringAn expression that provides a calculated value for the answer to the question
URL: http://hl7.org/fhir/StructureDefinition/cqif-basic-calculatedValue
... cqif-basic-library 0..*Reference(Library)A library containing logic referenced by the questionnaire
URL: http://hl7.org/fhir/StructureDefinition/cqif-basic-library

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Questionnaire I0..*A questionnaire with the ability to specify behavior associated with questions or groups of questions
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
que-2: The link ids for groups and questions must be unique within the questionnaire
... id 0..1idLogical id of this artifact
... meta 0..1MetaMetadata about the resource
... implicitRules ?!0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... cqif-basic-library I0..*Reference(Library)A library containing logic referenced by the questionnaire
URL: http://hl7.org/fhir/StructureDefinition/cqif-basic-library
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... url 0..1uriGlobally unique logical identifier for questionnaire
... identifier 0..*IdentifierExternal identifiers for this questionnaire
... version 0..1stringLogical identifier for this version of Questionnaire
... status ?!1..1codedraft | published | retired
Binding: QuestionnaireStatus (required)
... date 0..1dateTimeDate this version was authored
... publisher 0..1stringOrganization/individual who designed the questionnaire
... telecom 0..*ContactPointContact information of the publisher
... useContext 0..*CodeableConceptQuestionnaire intends to support these contexts
Binding: Context of Use ValueSet (extensible)
... title 0..1stringName for the questionnaire
... concept 0..*CodingConcept that represents the overall questionnaire
Binding: Questionnaire Question Codes (example)
... subjectType 0..*codeResource that can be subject of QuestionnaireResponse
Binding: ResourceType (required)
... item I0..*BackboneElementQuestions and sections within the Questionnaire
que-9: Read-only can't be specified for "display" items
que-8: Default values can't be specified for groups or display items
que-6: Required and repeat aren't permitted for display items
que-5: Only 'choice' items can have options
que-4: A question cannot have both option and options
que-3: Display items cannot have a "concept" asserted
que-10: Maximum length can only be declared for simple question types
que-1: Group items must have nested items, display items cannot have nested items
.... id 0..1stringxml:id (or equivalent in JSON)
.... cqif-basic-condition I0..1stringA condition that determines whether or not the group is applicable
URL: http://hl7.org/fhir/StructureDefinition/cqif-basic-condition
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... cqif-basic-initialValue I0..1stringAn expression that provides the initial value for the answer to the question
URL: http://hl7.org/fhir/StructureDefinition/cqif-basic-initialValue
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... cqif-basic-calculatedValue I0..1stringAn expression that provides a calculated value for the answer to the question
URL: http://hl7.org/fhir/StructureDefinition/cqif-basic-calculatedValue
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... linkId 0..1stringTo link questionnaire with questionnaire response
.... concept I0..*CodingConcept that represents this item within in a questionnaire
Binding: Questionnaire Question Codes (example)
.... prefix 0..1stringE.g. "1(a)", "2.5.3"
.... text 0..1stringPrimary text for the item
.... type 1..1codegroup | display | question | boolean | decimal | integer | date | dateTime +
Binding: QuestionnaireItemType (required)
.... enableWhen ?!I0..*BackboneElementOnly allow data when:
que-7: enableWhen must contain either an 'answer' or an 'answered' element
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
..... question 1..1stringQuestion that determines whether item is enabled
..... hasAnswer I0..1booleanEnable when answered or not
..... answer[x] I0..1boolean, decimal, integer, date, dateTime, instant, time, string, uri, Attachment, Coding, Quantity, Reference(Resource)Value question must have
.... required I0..1booleanWhether the item must be included in data results
.... repeats I0..1booleanWhether the item may repeat
.... readOnly I0..1booleanDon't allow human editing
.... maxLength I0..1integerNo more than this many characters
.... options I0..1Reference(ValueSet)Valueset containing permitted answers
.... option I0..*BackboneElementPermitted answer
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
..... value[x] 1..1integer, date, time, string, CodingAnswer value
Binding: Questionnaire Answer Codes (example)
.... initial[x] I0..1boolean, decimal, integer, date, dateTime, instant, time, string, uri, Attachment, Coding, Quantity, Reference(Resource)Initial presumed answer for question
.... item I0..*Unknown reference to #Questionnaire:cqif-questionnaire.item
Nested questionnaire items

doco Documentation for this format

XML Template

JSON Template

todo

 

Other representations of profile: Schematron

G.8.1.2 Terminology Bindings

PathNameConformanceValueSet
Questionnaire.languageCommon LanguagesextensibleCommon Languages
Questionnaire.statusQuestionnaireStatusrequiredQuestionnaireStatus
Questionnaire.useContextContext of Use ValueSetextensibleContext of Use ValueSet
Questionnaire.conceptQuestionnaire Question CodesexampleQuestionnaire Question Codes
Questionnaire.subjectTypeResourceTyperequiredResourceType
Questionnaire.item.conceptQuestionnaire Question CodesexampleQuestionnaire Question Codes
Questionnaire.item.typeQuestionnaireItemTyperequiredQuestionnaireItemType
Questionnaire.item.option.value[x]Questionnaire Answer CodesexampleQuestionnaire Answer Codes

G.8.1.3 Constraints

IdPathDetailsRequirements
dom-2QuestionnaireIf the resource is contained in another resource, it SHALL NOT contain nested Resources
XPath: not(parent::f:contained and f:contained)
dom-1QuestionnaireIf the resource is contained in another resource, it SHALL NOT contain any narrative
XPath: not(parent::f:contained and f:text)
dom-4QuestionnaireIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
XPath: not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))
dom-3QuestionnaireIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
XPath: not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))
que-2QuestionnaireThe link ids for groups and questions must be unique within the questionnaire
XPath: count(descendant::f:linkId/@value)=count(distinct-values(descendant::f:linkId/@value))
ele-1Questionnaire.extensionAll FHIR elements must have a @value or children
XPath: @value|f:*|h:div
ext-1Questionnaire.extensionMust have either extensions or value[x], not both
XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
que-9Questionnaire.itemRead-only can't be specified for "display" items
XPath: not(f:type/@value='display' and f:readOnly)
que-8Questionnaire.itemDefault values can't be specified for groups or display items
XPath: not(f:type/@value=('group', 'display') and f:*[starts-with(local-name(.), 'initial')])
que-6Questionnaire.itemRequired and repeat aren't permitted for display items
XPath: not(f:type/@value='display' and (f:required or f:repeats))
que-5Questionnaire.itemOnly 'choice' items can have options
XPath: f:type/@value=('choice','open-choice') or not(f:option or f:options)
que-4Questionnaire.itemA question cannot have both option and options
XPath: not(f:options and f:option)
que-3Questionnaire.itemDisplay items cannot have a "concept" asserted
XPath: not(f:type/@value='display' and f:concept)
que-10Questionnaire.itemMaximum length can only be declared for simple question types
XPath: f:type/@value=('boolean', 'decimal', 'integer', 'open-choice', 'string', 'text', 'url') or not(f:maxLength)
que-1Questionnaire.itemGroup items must have nested items, display items cannot have nested items
XPath: not((f:type/@value='group' and not(f:item)) or (f:type/@value='display' and f:item))
ele-1Questionnaire.item.extensionAll FHIR elements must have a @value or children
XPath: @value|f:*|h:div
ext-1Questionnaire.item.extensionMust have either extensions or value[x], not both
XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
ele-1Questionnaire.item.extensionAll FHIR elements must have a @value or children
XPath: @value|f:*|h:div
ext-1Questionnaire.item.extensionMust have either extensions or value[x], not both
XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
ele-1Questionnaire.item.extensionAll FHIR elements must have a @value or children
XPath: @value|f:*|h:div
ext-1Questionnaire.item.extensionMust have either extensions or value[x], not both
XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
ele-1Questionnaire.item.extensionAll FHIR elements must have a @value or children
XPath: @value|f:*|h:div
ext-1Questionnaire.item.extensionMust have either extensions or value[x], not both
XPath: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
que-7Questionnaire.item.enableWhenenableWhen must contain either an 'answer' or an 'answered' element
XPath: count(*[starts-with(local-name(.), 'answer')]|answered) = 1
.